package com.jinduplan.planmanager.bean;

import android.annotation.SuppressLint;

import com.cxz.kotlin.baselibs.bean.BaseBean;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;


@SuppressLint("ParcelCreator")
public class DataProjectBean extends BaseBean implements Serializable {


    /**
     * total : 2
     * per_page : 10
     * current_page : 1
     * last_page : 1
     * data : [{"id":4,"project_id":1,"building_id":1,"facade_id":1,"hanging_blue_id":1,"workmanship_id":1,"construction_id":1,"usage_amount":"15.00","completion_area":"80.00","completion_date":"2022-01-12","user_id":2,"created_id":2,"updated_id":2,"created_at":"2022-01-12 23:54:42","updated_at":"2022-01-12 23:54:42","project":{"id":1,"project_name":"心悦大厦","project_manager":"阮经理","project_developers":"桔子公司","project_area":724,"created_id":8,"updated_id":8,"created_at":"2022-01-05 23:39:13","updated_at":"2022-01-05 23:39:13","project_team":0,"project_addr":"","project_contractor":"","supervising_company":"","contractor_unit":"","completion_start_time":"","completion_end_time":"","commercial_officer":"","commercial_officer_tel":"","developers_contact":"","developers_contact_tel":"","developers_contact2":"","developers_contact_tel2":"","supervising_contact":"","supervising_contact_tel":"","supervising_contact2":"","supervising_contact_tel2":"","contractor_contact":"","contractor_contact_tel":"","contractor_contact2":"","contractor_contact_tel2":""},"building":{"id":1,"project_id":1,"building_type":1,"floor_height":30,"building_name":"1号楼","created_id":0,"updated_id":0,"created_at":"2022-01-06 00:08:32","updated_at":"2022-01-06 00:08:32"},"facade":{"id":1,"project_id":1,"building_id":1,"facade_name":"东立面","created_id":8,"updated_id":8,"created_at":"2022-01-06 00:08:32","updated_at":"2022-01-06 00:08:32"},"hanging_blue":{"id":1,"project_id":1,"building_id":1,"facade_id":1,"hanging_blue_name":"1号吊蓝","created_id":8,"updated_id":8,"created_at":"2022-01-11 23:29:33","updated_at":"2022-01-11 23:29:33"},"construction":null}]
     */

    private Integer total;
    private Integer per_page;
    private Integer current_page;
    private Integer last_page;
    private List<DataBean> data;

    public Integer getTotal() {
        return total;
    }

    public void setTotal(Integer total) {
        this.total = total;
    }

    public Integer getPer_page() {
        return per_page;
    }

    public void setPer_page(Integer per_page) {
        this.per_page = per_page;
    }

    public Integer getCurrent_page() {
        return current_page;
    }

    public void setCurrent_page(Integer current_page) {
        this.current_page = current_page;
    }

    public Integer getLast_page() {
        return last_page;
    }

    public void setLast_page(Integer last_page) {
        this.last_page = last_page;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean implements Serializable {

        private BuildingBean building;
        private int building_id;
        private float completion_area;
        private String completion_date;
        private ConstructionBean construction;
        private int construction_id;
        private String created_at;
        private int created_id;
        private FacadeBean facade;
        private int facade_id;
        private HangingBlueBean hanging_blue;
        private WorkmanShipBean workmanship;
        private int hanging_blue_id;
        private int id;
        private ProjectBean project;
        private int project_id;
        private String updated_at;
        private int updated_id;
        private float usage_amount;
        private int user_id;
        private int workmanship_id;
        public boolean isSelect=false;
        private LabourBean labour;
        private int labour_id;
        private AuditBean audit;
        private int audit_id;

        public float getUsage_amount() {
            return usage_amount;
        }

        public int getAudit_id() {
            return audit_id;
        }

        public void setAudit_id(int audit_id) {
            this.audit_id = audit_id;
        }

        public AuditBean getAudit() {
            return audit;
        }

        public void setAudit(AuditBean audit) {
            this.audit = audit;
        }

        public int getLabour_id() {
            return labour_id;
        }

        public void setLabour_id(int labour_id) {
            this.labour_id = labour_id;
        }

        public LabourBean getLabour() {
            return labour;
        }

        public void setLabour(LabourBean labour) {
            this.labour = labour;
        }

        public WorkmanShipBean getWorkmanship() {
            return workmanship;
        }

        public void setWorkmanship(WorkmanShipBean workmanship) {
            this.workmanship = workmanship;
        }

        public boolean isSelect() {
            return isSelect;
        }

        public void setSelect(boolean select) {
            isSelect = select;
        }



        public BuildingBean getBuilding() {
            return building;
        }

        public void setBuilding(BuildingBean building) {
            this.building = building;
        }

        public int getBuilding_id() {
            return building_id;
        }

        public void setBuilding_id(int building_id) {
            this.building_id = building_id;
        }

        public float getCompletion_area() {
            return completion_area;
        }

        public void setCompletion_area(float completion_area) {
            this.completion_area = completion_area;
        }

        public void setUsage_amount(float usage_amount) {
            this.usage_amount = usage_amount;
        }

        public String getCompletion_date() {
            return completion_date;
        }

        public void setCompletion_date(String completion_date) {
            this.completion_date = completion_date;
        }

        public ConstructionBean getConstruction() {
            return construction;
        }

        public void setConstruction(ConstructionBean construction) {
            this.construction = construction;
        }

        public int getConstruction_id() {
            return construction_id;
        }

        public void setConstruction_id(int construction_id) {
            this.construction_id = construction_id;
        }

        public String getCreated_at() {
            return created_at;
        }

        public void setCreated_at(String created_at) {
            this.created_at = created_at;
        }

        public int getCreated_id() {
            return created_id;
        }

        public void setCreated_id(int created_id) {
            this.created_id = created_id;
        }

        public FacadeBean getFacade() {
            return facade;
        }

        public void setFacade(FacadeBean facade) {
            this.facade = facade;
        }

        public int getFacade_id() {
            return facade_id;
        }

        public void setFacade_id(int facade_id) {
            this.facade_id = facade_id;
        }

        public HangingBlueBean getHanging_blue() {
            return hanging_blue;
        }

        public void setHanging_blue(HangingBlueBean hanging_blue) {
            this.hanging_blue = hanging_blue;
        }

        public int getHanging_blue_id() {
            return hanging_blue_id;
        }

        public void setHanging_blue_id(int hanging_blue_id) {
            this.hanging_blue_id = hanging_blue_id;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public ProjectBean getProject() {
            return project;
        }

        public void setProject(ProjectBean project) {
            this.project = project;
        }

        public int getProject_id() {
            return project_id;
        }

        public void setProject_id(int project_id) {
            this.project_id = project_id;
        }

        public String getUpdated_at() {
            return updated_at;
        }

        public void setUpdated_at(String updated_at) {
            this.updated_at = updated_at;
        }

        public int getUpdated_id() {
            return updated_id;
        }

        public void setUpdated_id(int updated_id) {
            this.updated_id = updated_id;
        }



        public int getUser_id() {
            return user_id;
        }

        public void setUser_id(int user_id) {
            this.user_id = user_id;
        }

        public int getWorkmanship_id() {
            return workmanship_id;
        }

        public void setWorkmanship_id(int workmanship_id) {
            this.workmanship_id = workmanship_id;
        }

        public static class AuditBean{
            private int id;
            private int status;

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public int getStatus() {
                return status;
            }

            public void setStatus(int status) {
                this.status = status;
            }
        }

        public static class LabourBean{
            private int id;
            private String full_name;

            @Override
            public boolean equals(Object o) {
                if (this == o) return true;
                if (!(o instanceof LabourBean)) return false;
                LabourBean that = (LabourBean) o;
                return id == that.id && isSelect == that.isSelect && Objects.equals(full_name, that.full_name);
            }

            @Override
            public int hashCode() {
                return Objects.hash(id, full_name, isSelect);
            }

            private boolean isSelect=false;

            public boolean isSelect() {
                return isSelect;
            }

            public void setSelect(boolean select) {
                isSelect = select;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getFull_name() {
                return full_name;
            }

            public void setFull_name(String full_name) {
                this.full_name = full_name;
            }
        }


        public static class BuildingBean {
            private String building_name;
            private int id;
            private boolean isSelect=false;

            public boolean isSelect() {
                return isSelect;
            }

            public void setSelect(boolean select) {
                isSelect = select;
            }

            @Override
            public boolean equals(Object o) {
                if (this == o) return true;
                if (o == null || getClass() != o.getClass()) return false;
                BuildingBean that = (BuildingBean) o;
                return getId() == that.getId() && isSelect() == that.isSelect() && Objects.equals(getBuilding_name(), that.getBuilding_name());
            }

            @Override
            public int hashCode() {
                return Objects.hash(getBuilding_name(), getId(), isSelect());
            }

            public String getBuilding_name() {
                return building_name;
            }

            public void setBuilding_name(String building_name) {
                this.building_name = building_name;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }
        }

        public static class ConstructionBean {
            private int building_id;
            private String construction_process;
            private float cost_per;
            private int facade_id;
            private int hanging_blue_id;
            private int id;
            private float mix_daily_completion;
            private int project_id;
            private float total_area;
            private float usage_amount;
            private int workmanship_id;

            public float getMix_daily_completion() {
                return mix_daily_completion;
            }

            public float getTotal_area() {
                return total_area;
            }

            public float getUsage_amount() {
                return usage_amount;
            }

            public int getBuilding_id() {
                return building_id;
            }

            public void setBuilding_id(int building_id) {
                this.building_id = building_id;
            }

            public String getConstruction_process() {
                return construction_process;
            }

            public void setConstruction_process(String construction_process) {
                this.construction_process = construction_process;
            }

            public float getCost_per() {
                return cost_per;
            }

            public void setCost_per(float cost_per) {
                this.cost_per = cost_per;
            }

            public void setMix_daily_completion(float mix_daily_completion) {
                this.mix_daily_completion = mix_daily_completion;
            }

            public void setTotal_area(float total_area) {
                this.total_area = total_area;
            }

            public void setUsage_amount(float usage_amount) {
                this.usage_amount = usage_amount;
            }

            public int getFacade_id() {
                return facade_id;
            }

            public void setFacade_id(int facade_id) {
                this.facade_id = facade_id;
            }

            public int getHanging_blue_id() {
                return hanging_blue_id;
            }

            public void setHanging_blue_id(int hanging_blue_id) {
                this.hanging_blue_id = hanging_blue_id;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }


            public int getProject_id() {
                return project_id;
            }

            public void setProject_id(int project_id) {
                this.project_id = project_id;
            }



            public int getWorkmanship_id() {
                return workmanship_id;
            }

            public void setWorkmanship_id(int workmanship_id) {
                this.workmanship_id = workmanship_id;
            }
        }

        public static class FacadeBean {
            private String facade_name;
            private int id;
            private boolean isSelect=false;

            @Override
            public boolean equals(Object o) {
                if (this == o) return true;
                if (o == null || getClass() != o.getClass()) return false;
                FacadeBean that = (FacadeBean) o;
                return getId() == that.getId() && isSelect() == that.isSelect() && Objects.equals(getFacade_name(), that.getFacade_name());
            }

            @Override
            public int hashCode() {
                return Objects.hash(getFacade_name(), getId(), isSelect());
            }

            public boolean isSelect() {
                return isSelect;
            }

            public void setSelect(boolean select) {
                isSelect = select;
            }
            public String getFacade_name() {
                return facade_name;
            }

            public void setFacade_name(String facade_name) {
                this.facade_name = facade_name;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }
        }

        public static class HangingBlueBean {
            private String hanging_blue_name;
            private int id;
            private boolean isSelect=false;

            @Override
            public boolean equals(Object o) {
                if (this == o) return true;
                if (o == null || getClass() != o.getClass()) return false;
                HangingBlueBean that = (HangingBlueBean) o;
                return getId() == that.getId() && isSelect() == that.isSelect() && Objects.equals(getHanging_blue_name(), that.getHanging_blue_name());
            }

            @Override
            public int hashCode() {
                return Objects.hash(getHanging_blue_name(), getId(), isSelect());
            }

            public boolean isSelect() {
                return isSelect;
            }

            public void setSelect(boolean select) {
                isSelect = select;
            }
            public String getHanging_blue_name() {
                return hanging_blue_name;
            }

            public void setHanging_blue_name(String hanging_blue_name) {
                this.hanging_blue_name = hanging_blue_name;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }
        }

        public static class ProjectBean {
            private int id;
            private String project_developers;
            private String project_manager;
            private String project_name;
            private String project_addr;


            public String getProject_addr() {
                return project_addr;
            }

            public void setProject_addr(String project_addr) {
                this.project_addr = project_addr;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getProject_developers() {
                return project_developers;
            }

            public void setProject_developers(String project_developers) {
                this.project_developers = project_developers;
            }

            public String getProject_manager() {
                return project_manager;
            }

            public void setProject_manager(String project_manager) {
                this.project_manager = project_manager;
            }

            public String getProject_name() {
                return project_name;
            }

            public void setProject_name(String project_name) {
                this.project_name = project_name;
            }
        }

        public static class WorkmanShipBean{
            private int id;
            private String workmanship_name;

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getWorkmanship_name() {
                return workmanship_name;
            }

            public void setWorkmanship_name(String workmanship_name) {
                this.workmanship_name = workmanship_name;
            }
        }
    }


}
